package com.xyy.saas.payment.cores.param;

import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * @author liujf
 */
@Data
public class JDPushLoanSceneDto implements Serializable {
    /**
     * 请求编号，唯一id
     */
//    private String reqNo;

    /**
     * 请求时间 yyyyMMddHHmmss
     */
//    private String reqDate;

    /**
     * 产品编号
     */
//    private String productCode;

    /**
     * 合作方编号
     */
//    private String partnerCode;

    /**
     * 核心企业编号
     */
//    private String coreCompanyCode;

    /**
     * 扩展字段
     */
//    private Map<String, Object> ext;

    /**
     * 场景数据
     */
    private List<SceneData> sceneDataList;

    @Data
    public static class SceneData implements Serializable{
        /**
         * 合作平台客户编号
         */
        private String custCode;

        /**
         * 首笔订单创建时间 yyyyMMddHHmmss
         */
        private String firstOrderCreateTime;

        /**
         * 末笔订单创建时间
         */
        private String lastOrderCreateTime;

        /**
         * 历史交易数据，月度
         */
        private List<OrderInfo> orderList;
    }

    @Data
    public static class OrderInfo implements Serializable{
        /**
         * 年月 格式为：YYYY-MM
         */
        private String orderCreateMth;

        /**
         * 所有订单金额
         */
        private BigDecimal orderAmount;

        /**
         * 每月所有订单量
         */
        private Integer orderCnt;

        /**
         * 扣掉返点返利优惠和退货的订单之后的实付金额
         */
        private BigDecimal paidAmount;

        /**
         * 每月实付订单数
         */
        private Integer paidCnt;

        /**
         * 每个月为该供应商开具发票的金额
         */
        private BigDecimal invoiceAmount;

        /**
         * 每月退货的订单金额
         */
        private BigDecimal refundAmount;

        /**
         * 每月退货的订单数
         */
        private Integer refundCnt;
    }
}
